Skip to content

Add progress bar#390

Merged
ilopezluna merged 1 commit intomainfrom
rm-old-resume-implementation
Nov 13, 2025
Merged

Add progress bar#390
ilopezluna merged 1 commit intomainfrom
rm-old-resume-implementation

Conversation

@ericcurtin
Copy link
Contributor

@ericcurtin ericcurtin commented Nov 9, 2025

And remove existing transport implementation

We are gonna implement this in the go-containerregistry layer it's cleaner

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @ericcurtin, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request streamlines the project's HTTP transport mechanisms by completely removing the existing custom resumable and parallel implementations. This includes the deletion of all related internal utility packages, testing infrastructure, and a dedicated benchmarking tool. The rationale behind this extensive removal is to consolidate and re-implement this functionality within the go-containerregistry layer, which is expected to offer a cleaner and more efficient approach.

Highlights

  • Removal of Custom HTTP Transports: The resumable and parallel HTTP transport implementations, designed for features like download resumption and parallel chunking, have been entirely removed from the codebase.
  • Deletion of Associated Utilities: All internal helper packages (bufferfile, common, testing) and their respective test files, which supported these custom transports, have been deleted.
  • Removal of Benchmarking Tool: The parallelget benchmarking tool, previously used to evaluate the performance of the parallel transport, has also been removed.
  • Shift to External Library: The functionality previously provided by these custom transports will now be handled by the go-containerregistry layer, aiming for a cleaner and more integrated solution.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the custom resumable and parallel transport implementation, which simplifies the codebase by deleting a significant amount of code. My review focused on the integration point in main.go. I found that the proxy-aware transport configuration is no longer being used, which could cause issues in environments requiring a proxy. I've provided a suggestion to fix this.

@ericcurtin ericcurtin force-pushed the rm-old-resume-implementation branch 3 times, most recently from 904e5b1 to 4784286 Compare November 9, 2025 20:46
@ericcurtin ericcurtin changed the title Removing existing transport implementation Add progress bar Nov 9, 2025
@ericcurtin ericcurtin force-pushed the rm-old-resume-implementation branch from 4784286 to dd91d1f Compare November 9, 2025 20:54
Copy link
Contributor

@doringeman doringeman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think something doesn't wait for all the updates:

$ MODEL_RUNNER_HOST=http://localhost:8080 docker model pull smollm2
bf6f20a60305: Downloading [=================================================> ]  269.6MB/270.6MB
bf6f20a60305: Download complete
cfc7749b96f6: Downloading [==================>                                ]  4.096kB/11.36kB
cfc7749b96f6: Download complete

See 269.6MB/270.6MB and 4.096kB/11.36kB.

@ericcurtin ericcurtin force-pushed the rm-old-resume-implementation branch 5 times, most recently from 8ae2d43 to 5ccfca6 Compare November 12, 2025 13:49
@doringeman
Copy link
Contributor

Is it desired to not display all layers?

$ MODEL_RUNNER_HOST=http://localhost:8080 docker model pull smollm2
bf6f20a60305: Pull complete [==================================================>]  270.6MB/270.6MB

Model pulled successfully

Because smollm2 has 2 layers:

$ cat ~/.docker/models/manifests/sha256/354bf30d0aa3af413d2aa5ae4f23c66d78980072d1e07a5b0d776e9606a2f0b9 | jq .layers
[
  {
    "mediaType": "application/vnd.docker.ai.gguf.v3",
    "size": 270590624,
    "digest": "sha256:bf6f20a603055433b4b998119e17928fc4a89b35c42855dd7eada105058cae0a"
  },
  {
    "mediaType": "application/vnd.docker.ai.license",
    "size": 11358,
    "digest": "sha256:cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30"
  }
]

@ericcurtin
Copy link
Contributor Author

@doringeman are you sure you are reviewing the latest code in this PR? The output above you are seeing doesn't seem to align

And remove existing transport implementation

We are gonna implement this in the go-containerregistry layer it's cleaner

Signed-off-by: Eric Curtin <eric.curtin@docker.com>
@ericcurtin ericcurtin force-pushed the rm-old-resume-implementation branch from 5ccfca6 to 8e8f5cc Compare November 12, 2025 14:13
@ericcurtin
Copy link
Contributor Author

You should see:

Unable to find model 'ai/smollm2:135M-Q4_0' locally. Pulling from the server.
384a89bd054c: Pull complete [==================================================>]  91.73MB/91.73MB
609e2cb599f8: Pull complete [==================================================>]  12.62kB/12.62kB
Model pulled successfully
>

And btw prior to this, we showed only one layers progress, trying to avoid boiling the ocean in every PR and continuing to make progress

@doringeman
Copy link
Contributor

@doringeman are you sure you are reviewing the latest code in this PR? The output above you are seeing doesn't seem to align

Yes, I'm on 8e8f5cc2.

Screenshot 2025-11-12 at 16 35 04

And btw prior to this, we showed only one layers progress, trying to avoid boiling the ocean in every PR and continuing to make progress

I agree. I asked because when I first reviewed this PR there were more layers shown: #390 (review).

Copy link
Contributor

@ilopezluna ilopezluna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! 👏

@ilopezluna ilopezluna merged commit bd22bea into main Nov 13, 2025
10 checks passed
@ilopezluna ilopezluna deleted the rm-old-resume-implementation branch November 13, 2025 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants